package top.zhdev.community.mapper;

import org.apache.ibatis.annotations.Mapper;
import top.zhdev.community.entity.Comment;

import java.util.List;

@Mapper
public interface CommentMapper {
    /**
     * 根据实体获取评论内容
     * @param entityType
     * @param entityId
     * @param offset
     * @param limit
     * @return
     */
    List<Comment> getCommentByEntity(int entityType, Integer entityId, int offset, int limit);

    /**
     * 获取指定评论的回复数量
     * @param entityType
     * @param entityId
     * @return
     */
    int getCountByEntity(int entityType, int entityId);

    /**
     * 获取指定用户的评论数量
     * @param userId
     * @return
     */
    int getCommentCountByUseId(int userId);

    /**
     * 获取指定用户的评论内容
     * @param userId
     * @param offset
     * @param limit
     * @return
     */
    List<Comment> getCommentsByUserId(int userId, int offset, int limit);

    /**
     * 添加评论
     * @param comment
     * @return
     */
    int insertComment(Comment comment);

    /**
     * 通过实体id 获取评论
     * @param id
     * @return
     */
    Comment selectCommentsByEntityId(int id);

    /**
     * 通过userId 查询个人评论数量
     * @param userId
     * @return
     */
    int selectCommentRowsByUserId(int userId);
}
